package com.yida.system.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.yida.system.domain.SysUserArea;

/**
 * 用户与地区关联表 数据层
 * 
 * @author hmh
 *
 */
public interface SysUserAreaMapper {

    /**
     * 根据用户ID上次用户和地区关联
     * 
     * @param userId
     * @return
     */
    public int deleteUserAreaByUserId(Long userId);

    /**
     * 通过地区编号查询地区绑定数量(暂存)
     * 
     * @param areaId 地区ID
     * @return 结果
     */
    public int countUserPostById(Long areaId);

    /**
     * 批量删除用户地区关联
     * 
     * @param ids 待删除ID
     * @return
     */
    public int deleteUserArea(Long[] ids);

    /**
     * 批量新增用户地区信息
     * 
     * @param userAreaList 用户地区表
     * @return
     */
    public int batchUserArea(List<SysUserArea> userAreaList);

    /**
     * 删除用户地区关联
     * 
     * @param userArea 用户地区关联信息
     * @return 结果
     */
    public int deleteUserAreaInfo(SysUserArea userArea);

    /**
     * 批量取消用户地区关联
     * 
     * @param userArea 用户地区关联信息
     * @return 结果
     */
    public int deleteUserAreaInfos(@Param("areaId") Long areaId, @Param("userIds") Long[] userIds);

    /**
     * 根据用户ID批量删除用户地区关联
     * 
     * @param userIds
     * @return
     */
    public int deleteUserAreaByUserIds(Long[] userIds);

    /**
     * 20231204
     * 
     * 根据用户ID和父类节点获取对应绑定信息下的子集节点字符串组
     * 
     * @param userId 用户ID
     * @return 126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147
     */
    public String queryUserAreaIdsByUserIdAndParentAreaId(Long userId);

}
